/*
void通常用来指定一个函数是没有返回值的，没有返回值的函数它的返回值类型就是void类型
如果函数的返回值是void类型，那么也可以返回undefined
当基于上下文的类型推导出返回类型为void的时候，并不会强制函数一定不能返回内容
*/


// 函数没有返回值就是void类型
function sum(num1: number, num2: number): void {
    console.log(num1, num2)
}

type LyricInfoType = { time: number, text: string }

function parseLyric(lyric: string): LyricInfoType[] {
    const lyricInfos: LyricInfoType[] = [];
    lyricInfos.push({time: 1314, text: lyric})
    return lyricInfos
}

console.log(parseLyric("海阔天空"))


type FooType = () => void
const foo: FooType = (): void => {
    console.log("hello")
}

// 延迟调用其它的函数
function delayExecFun(fun: (name: string, age: number) => void): void {
    setTimeout((): void => {
        fun("陶品奇", 22)
    }, 1000)
}

delayExecFun((name: string, age: number) => {
    console.log(name, age)
})


